#pragma once

#include <WTypes.h>
#include <Unknwn.h>
#include <CommDlg.h>
#include <CommCtrl.h>
#include <ShellAPI.h>
#include <ShlObj.h>
#include <comutil.h>
#include <Mshtml.h>
#include <ExDispid.h>
#include <tchar.h>


// Common
#include <SkinDefine.h>
#include <SkinImplDef.h>
#include <XCodeDefine.h>
#include <SkinDataDef.h>
#include <noncopyable.hpp>

#include <XString.h>

#include <XAppData.h>

// Logic
#include <IXAutoBuffer.h>
#include <IXBaseObj.h>
#include <IXConfigAttr.h>
#include <IXConfigFile.h>
#include <IXConfigNode.h>
#include <IXDropListener.h>
#include <IXEnumConfigAttr.h>
#include <IXEnum.h>
#include <IXEnumConfigNode.h>
#include <IXFileMapBuffer.h>
#include <IXFileReader.h>
#include <IXFileSystem.h>
#include <IXFileWriter.h>
#include <IXFixedBuffer.h>
#include <IXGifMgr.h>
#include <IXIconMgr.h>
#include <IXImageMgr.h>
#include <IXSkinCore.h>
#include <IXStringBundleMgr.h>
#include <IXSystemService.h>
#include <IXTimer.h>
#include <IXTrayIcon.h>
#include <XBaseObjImpl.h>
#include <XDispatchImpl.h>
#include <XDispMemInvoker.h>
#include <XPtr.h>

// UIParser
#include <IXUIParser.h>

// Util
#include <Colorize.h>
#include <DrawObjHelper.h>
#include <DrawUtil.h>
#include <ServiceUtil.h>
#include <FileUtil.h>
#include <ImageUtil.h>
#include <Util.h>
#include <StrUtil.h>
#include <TimerUtil.h>
#include <HotKeyUtil.h>
#include <UIUtil.h>
#include <XBSTR.h>
#include <XLock.h>
#include <XMemCanvas.h>
#include <XTempCanvas.h>

// Skin
#include <IXBrowser.h>
#include <EventHandler.h>
#include <IXMenuPre.h>
#include <IXMenuItem.h>
#include <IXMenuEx.h>
#include <IXHotKeySrv.h>
#include <IXMsgListenSrv.h>
#include <IXTheme.h>
#include <IXUIThreadProc.h>
#include <IXButtonDraw.h>
#include <IXColorDraw.h>
#include <IXCustomDraw.h>
#include <IXDefaultMenuDraw.h>
#include <IXColorizeWnd.h>
#include <IXCombo.h>
#include <IXControl.h>
#include <IXDraw.h>
#include <IXDrawContextObj.h>
#include <IXEdit.h>
#include <IXHotKey.h>
#include <IXFont.h>
#include <IXGifDraw.h>
#include <IXHeader.h>
#include <IXHwnd.h>
#include <IXFrame.h>
#include <IXGif.h>
#include <IXImage.h>
#include <IXIconDraw.h>
#include <IXCheckBox.h>
#include <IXButton.h>
#include <IXImageDraw.h>
#include <IXLabel.h>
#include <IXLink.h>
#include <IXListDelegate.h>
#include <IXListView.h>
#include <IXLogoButton.h>
#include <IXMenuButton.h>
#include <IXMsgBox.h>
#include <IXRadioBox.h>
#include <IXTextEnv.h>
#include <IXScrollBar.h>
#include <IXShape.h>
#include <IXTab.h>
#include <IXLayout.h>
#include <IXWindow.h>
#include <MessageHandler.h>
#include <SkinAppBase.h>
#include <WebScriptCall.h>
#include <IXPainter.h>

// Diag
#ifndef SkinNoUseLogClient
#include "LogClient.h"
#endif  // SkinNoUseLogClient

#include "Diagnose/Include/DiagDef.h"
#include "Diagnose/Include/TickHelper.h"


#if _IS_UI_ANIMATION_ENABLED_

    #include <IXAnimation.h>
    #include <IXAnimationSrv.h>

#endif // _IS_UI_ANIMATION_ENABLED_

#if _IS_UI_DESIGNED_ENABLED_

    #include <IXTracker.h>
    #include <IXUIDrager.h>

#endif // _ENABLE_UI_DESIGNER_

#pragma comment(lib, "comsupp.lib")